Exception Handling Bug Hazards in Android: Results from a Mining Study and an Exploratory Survey
نویسندگان
چکیده
Adequate handling of exceptions has proven difficult for many software engineers. Mobile app developers in particular, have to cope with compatibility, middleware, memory constraints, and battery restrictions. The goal of this paper is to obtain a thorough understanding of common exception handling bug hazards that app developers face. To that end, we first provide a detailed empirical study of over 6,000 Java exception stack traces we extracted from over 600 open source Android projects. Key insights from this study include common causes for system crashes, and common chains of wrappings between checked and unchecked exceptions. Furthermore, we provide a survey with 71 developers involved in at least one of the projects analyzed. The results corroborate the stack trace findings, and indicate that developers are unaware of frequently occurring undocumented exception handling behavior. Overall, the findings of our study call for tool support to help developers understand their own and third party exception handling and wrapping logic. Roberta Coelho Federal University of Rio Grande do Norte, CIVT/UFRN. Av. Senador Salgado Filho, 3000. Lagoa Nova, CEP: 59.078-970. Natal/RN. Brazil Tel.: +55-84-3342-2216 E-mail: [email protected] Lucas Almeida E-mail: [email protected] Georgios Gousios E-mail: [email protected] Arie van Deursen E-mail: [email protected] Christoph Treude E-mail: [email protected] SERG Exception Handling Bug Hazards in Android
منابع مشابه
An exploratory study on exception handling bugs in Java programs
Most mainstream programming languages provide constructs to throw and to handle exceptions. However, several studies argue that exception handling code is usually of poor quality and that it is commonly neglected by developers. Moreover, it is said to be the least understood, documented, and tested part of the implementation of a system. Nevertheless, there are very few studies that analyze the...
متن کاملAssessing the Impact of Aspects on Exception Flows: An Exploratory Study
Exception handling mechanisms are intended to support the development of robust software. However, the implementation of such mechanisms with aspectoriented (AO) programming might lead to error-prone scenarios. As aspects extend or replace existing functionality at specific join points in the code execution, aspects’ behavior may bring new exceptions, which can flow through the program executio...
متن کاملMining the Temporal Evolution of the Android Bug Reporting Community via Sliding Windows
The open source development community consists of both paid and volunteer developers as well as new and experienced users. Previous work has applied social network analysis (SNA) to open source communities and has demonstrated value in expertise discovery and triaging. One problem with applying SNA directly to the data of the entire project lifetime is that the impact of local activities will b...
متن کاملException Handling Bug Patterns in Aspect Oriented Programs
Aspects often impact the exceptional control flow of a program by signaling and handling exceptions signaled by other aspects or classes. The exceptions signaled by aspects may flow through the program execution in unexpected ways leading to failures such as uncaught exceptions and exceptions being caught by the wrong handlers. We identified a set of bug patterns via an empirical study of excep...
متن کاملData Mining Methods for Discovering Interesting Exceptions from an Unsupervised Table
In this paper, we survey efforts devoted to discovering interesting exceptions from data in data mining. An exception differs from the rest of data and thus is interesting and can be a clue for further discoveries. We classify methods into exception instance discovery, exception rule discovery, and exception structured-rules discovery and give a condensed and comprehensive introduction.
متن کامل